import {config} from '../config.js'

// 定义错误码:
const tips={
  1:"抱歉，出现了一个错误",
  1005:'appkey失效',
  3000:'期刊不存在'
}

class HTTP {
  request(params) {
    if (!params.method) {
      params.method = "GET"
    }
    wx.request({
      // url,data,method,
      url: config.api_url + params.url,
      method: params.method,
      data: params.data,
      header: {
        'content-type': 'application/json',
        'appkey': config.appkey
      },
      success:(res)=>{
        // statusCode是一个数字，只有字符串才能使用es6的startsWith方法
        let code=res.statusCode.toString();
        if (code.startsWith("2")){
          if (params.success)
          params.success(res.data)
          //也可以这样写:判断是否有params.success回调函数，如果空没有不会执行&后面的判断
          // params.success && params.success(res.data)
        }else{
          // 当请求错误则出现弹框
          let error_code=res.error_code
          this._show_error(error_code)
        }
      },
      fail:(err)=>{
       this._show_error(1)
      }
    })
  }
  
  // 加下划线标识这是一个私有方法(不要从外部调用)
  _show_error(err_code){
    if(!err_code){
      err_code=1
    }
    wx.showToast({
      title: tips[err_code],
      icon:'none',
      duration:2000
    })
  }
}
export { HTTP}